package com.sf.asp.service;

import com.sf.asp.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sf.asp.entity.dto.DeleteDTO;
import com.sf.asp.entity.dto.RoleQueryDTO;
import com.sf.asp.entity.dto.RoleSaveDTO;
import com.sf.asp.entity.vo.PageInfo;
import com.sf.asp.entity.vo.RoleVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jins
 * @since 2021-11-24
 */
public interface RoleService {


    /**
     * 获取角色列表信息
     * @param roleParam 角色查询参数
     * @return 分页数据
     */
    PageInfo listRole(RoleQueryDTO roleParam);

    /**
     * 保存角色名称
     * @param role 角色名称
     */
    void saveRole(RoleSaveDTO role);


    /**
     * 删除角色
     * @param delete 删除角色对象
     */
    void deleteRole(DeleteDTO delete);


    /**
     * 根据ID获取角色信息
     * @param roleId 角色ID
     * @return 角色信息
     */
    RoleVO getRoleById(Integer roleId);

    /**
     * 编辑角色信息
     * @param roleVO 角色信息
     */
    void editRole(RoleVO roleVO);


    /**
     * 获取所有的角色信息为用管理提供
     * @return list
     */
    List<RoleVO> listRoleForUser();




}
